//app.js
//引入代码
import Api from './utils/api'
var bmap = require('./libs/bmap-wx.js');
var BMap;

App({
  globalData: {
    loginFlag: false,
    addGoodsSuc: false,
    otherPageHideFlag: false, //其他页面导致小程序进入小程序后台或前台;如上传图片，分享到朋友；
    tabBackstage: false, //进入后台时标志。
    indexRequestFlag: false, //首次登陆时或后台进入首页时的标志
    navHeight: null, // 当前用户设备的导航栏高度
    userInfo: wx.getStorageSync("userInfo"),
    statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'], //获取每个手机顶部去掉后的高度
    shoppingDataLength: 0, //页面刚加载获取购物车的数量
    Prefix: "https://yps.yikesong.cc/api", // yikesong.cc正式服
    //Prefix: "https://peter.xiaomiqiu.com/api",
    Prefi: "https://yikesong.cc:8080", //大后台
  },

  // 小程序初始化完成时触发，全局只触发一次。
  onLaunch: function() {
    console.log('app===onlaunch')
        //  检测小程序是否有新版本
    if (wx.canIUse("getUpdateManager")) {
      console.log('检测小程序是否有新版本')
      const updateManager = wx.getUpdateManager();
      updateManager.onCheckForUpdate(function (res) {
        console.log(res.hasUpdate, 'onCheckForUpdateCab');
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: "更新提示",
              content: "新版本已经准备好，是否重启应用？",
              success(res) {
                if (res.confirm) {
                  // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate(function (res) {
                    console.log(res, '============applyUpdateCall')
                  });
                } else if (res.cancel) {
                  return false;
                }
              }
            });
          });
          updateManager.onUpdateFailed(function () {
            // 新的版本下载失败
            wx.showModal({
              title: '升级失败',
              content: '新版本下载失败，请检查网络！',
              showCancel: false
            });
          });
        } else {
          // wx.clearStorage();
          // wx.clearStorageSync();
        }
      });
    } else {
      wx.showModal({
        title: "提示",
        content: "当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。"
      });
    }
    let _this = this;
    // 获取用户手机导航栏高度
    wx.getSystemInfo({
      success: res => {
        console.log(res)
        //导航高度
        _this.globalData.navHeight = res.statusBarHeight + 46;
      },
      fail(err) {
        console.log(err);
      }
    });
    _this.getLocation();
    wx.checkSession({
      success: function(res) {
        // _this.loadCartNum(); //查看购物车信息主要获取数量
      },
      fail: function(res) {
        console.log("index.js-onLoad-需要登录");
        // wx.navigateTo({
        //   url: '/pages/logs/logs',
        // });
        return;
      }
    });
    //  检测小程序是否有新版本
    _this.getUpdateManager();

  },

  // 小程序从前台进入后台时触发。
  onHide: function() {
    console.log('app===onhide()')
    // this.globalData.tabBackstage=true;
  },
  //小程序启动，或从后台进入前台显示时触发
  onShow: function() {
    console.log('app===onshow()')
    if (!this.globalData.otherPageHideFlag) {
      this.globalData.indexRequestFlag = true;
      this.globalData.otherPageHideFlag = false;
    } else {
      this.globalData.indexRequestFlag = false;
    }
  },
  onError(err) {
    console.log(err, '=======apponError=====')
  },
  //  检测小程序是否有新版本
  getUpdateManager: function() {
  
  },
  /**
   * 加载用户购物车内商品数量
   */
  loadCartNum: function() {
    let _this = this;
    Api.searchCart().then(res => {
      console.log(res.data.length);
      if (res.data.length > 0) {
        _this.globalData.shoppingDataLength = res.data.length;
        console.log("加载用户购物车内商品数量", _this.globalData.shoppingDataLength)
        wx.setTabBarBadge({
          index: 3,
          text: "" + _this.globalData.shoppingDataLength + "", //可改 
        });
      } else {
        _this.globalData.shoppingDataLength = 0;
        wx.setTabBarBadge({
          index: 3,
          text: "" + _this.globalData.shoppingDataLength + "", //可改 
        });
      }
    })
  },

  /**
   * 获取百度的地理位置
   * 
   */
  getLocation() {
    console.log('app===获取百度的地理位置')
    let _this = this;
    BMap = new bmap.BMapWX({
      ak: 'iOYBmDKHicYmzZigGIGnurrPf1YMKlEj'
    });
    BMap.regeocoding({
      success: function(res) {
        console.log("地理:", res)
        let city = res.originalData.result;
        //获取开通城市
        Api.searchOpenCity().then(res => {
          console.log(res, "获取开通城市列表")
          let data = res.data;
          for (let i = 0; i < data.length; i++) {
            if (city) {
              console.log(city.addressComponent.city)
              if (data[i] == city.addressComponent.city) {
                wx.setStorageSync('originalData', city);
                return;
              }
            }
          }
          let resultCity = {
            addressComponent: {
              adcode: "340111",
              city: "合肥市",
              city_level: 2,
              country: "中国",
              country_code: 0,
              country_code_iso: "CHN",
              country_code_iso2: "CN",
              direction: "南",
              distance: "65",
              district: "包河区",
              province: "安徽省",
              street: "包河大道",
              street_number: "118号-3楼",
              town: ""
            },
            location: {
              lat: 31.793219451417567,
              lng: 117.30794046911323
            }
          }
          wx.showToast({
            title: '您所在的城市' + city.addressComponent.city +'不是开通城市,默认设置您的位置为合肥市',
            icon: 'none',
            image: '',
            duration: 2000,
            mask: true,
          })
          wx.setStorageSync('originalData', resultCity);
        })


      },
      fail: function(res) {
        console.log("请求百度失败,默认定位合肥", res);
        let resultCity = {
          addressComponent: {
            adcode: "340111",
            city: "合肥市",
            city_level: 2,
            country: "中国",
            country_code: 0,
            country_code_iso: "CHN",
            country_code_iso2: "CN",
            direction: "南",
            distance: "65",
            district: "包河区",
            province: "安徽省",
            street: "包河大道",
            street_number: "118号-3楼",
            town: ""
          },
          location: {
            lat: 31.793219451417567,
            lng: 117.30794046911323
          }
        }
        wx.setStorageSync('originalData', resultCity);
      },
    });
  },

})